Відповіді на це запитання - зусилля громади. Відредагуйте існуючі відповіді, щоб покращити цю публікацію. Наразі він не приймає нових відповідей або взаємодій. Як я можу перенаправити користувача з однієї сторінки на іншу за допомогою jQuery або чистого JavaScript?
1 2 Далі За допомогою jQuery не просто переспрямовувати jQuery не є необхідним, і window.location.replace (...) найкраще імітуватиме HTTP-перенаправлення. window.location.replace (...) краще, ніж використання window.location.href, тому що replace () не зберігає вихідну сторінку в історії сеансів, тобто користувач не застряє в нескінченній зворотній кнопка фіаско. Якщо ви хочете імітувати когось, що натискає на посилання, використовуйте location.href Якщо ви хочете імітувати перенаправлення HTTP, використовуйте location.replace Наприклад: // подібна поведінка як перенаправлення HTTP window.location.replace ("http://stackoverflow.com"); // подібна поведінка, як натискання на посилання window.location.href = "http://stackoverflow.com"; | ПОПЕРЕДЖЕННЯ: Ця відповідь була просто надана як можливе рішення; очевидно, це не найкраще рішення, оскільки для цього потрібен jQuery. Натомість віддайте перевагу чистому рішенню JavaScript. $ (розташування) .attr ('href', 'http://stackoverflow.com') | Стандартний "ванільний" спосіб перенаправлення сторінки на JavaScript window.location.href = 'newPage.html'; Або простіше: (оскільки вікно є глобальним) location.href = 'newPage.html'; Якщо ви тут, бо втрачаєте HTTP_REFERER під час перенаправлення, продовжуйте читати: (Інакше ігноруйте цю останню частину) Наступний розділ призначений для тих, хто використовує HTTP_REFERER як один із багатьох заходів безпеки (хоча це не є великим захисним заходом). Якщо ви використовуєте Internet Explorer 8 або старішу версію, ці змінні втрачаються під час використання будь-якої форми перенаправлення сторінки JavaScript (location.href тощо). Нижче ми збираємось впровадити альтернативу для IE8 і нижче, щоб ми не втратили HTTP_REFERER. В іншому випадку ви можете майже завжди просто використовувати window.location.href. Тестування на HTTP_REFERER (вставка URL-адреси, сеанс тощо) може допомогти визначити, чи є запит законним. (Примітка: Є також способи обійти / підробити цих рефералів, як зазначено за посиланням droop в коментарях) Просте рішення для крос-браузерного тестування (повернення до window.location.href для Internet Explorer 9+ та всіх інших браузерів) Використання: переспрямування ('anotherpage.aspx'); переспрямування функції (url) { var ua = navigator.userAgent.toLowerCase (), isIE = ua.indexOf ('msie')! == -1, версія = parseInt (ua.substr (4, 2), 10); // Internet Explorer 8 і старіших версій if (isIE && версія <9) { var link = document.createElement ('a'); link.href = url; document.body.appendChild (посилання); link.click (); } // Усі інші браузери можуть використовувати стандартний window.location.href (вони не втрачають HTTP_REFERER, як Internet Explorer 8 і нижчі версії) ще { window.location.href = url; } } | Існує безліч способів зробити це. // window.location window.location.replace ('http://www.example.com') window.location.assign ('http://www.example.com') window.location.href = 'http://www.example.com' document.location.href = '/ шлях' // вікно.історія window.history.back () window.history.go (-1) // window.navigate; ТІЛЬКИ для старих версій Internet Explorer window.navigate ('top.jsp') // Можливо, немає буено self.location = 'http://www.example.com'; top.location = 'http://www.example.com'; // jQuery $ (розташування) .attr ('href', 'http: //www.example.com') $ (window) .attr ('location', 'http: //www.example.com') $ (location) .prop ('href', 'http://www.example.com') | Це працює для кожного браузера: window.location.href = 'ваш_адрес'; | Це допомогло б, якби ви були трохи більш описовими у тому, що намагаєтесь зробити. Якщо ви намагаєтеся генерувати підкачувані дані, є кілька варіантів того, як це зробити. Ви можете генерувати окремі посилання для кожної сторінки, до якої ви хочете мати можливість безпосередньо перейти. 1 2 3 ... Зверніть увагу, що поточна сторінка в прикладі обробляється по-різному в коді та в CSS. Якщо ви хочете, щоб дані, що прокручуються на сторінках, були змінені за допомогою AJAX, саме тут буде входити jQuery. Що б ви зробили, це додали обробник клацань до кожного з тегів прив’язки, що відповідає іншій сторінці. Цей обробник кліків викличе деякий код jQuery, який переходить і отримує наступну сторінку через AJAX та оновлює таблицю новими даними. У наведеному нижче прикладі передбачається, що у вас є веб-служба, яка повертає нові дані сторінки. $ (документ) .ready (function () { $ ('a.pager-link'). натисніть (функція () { сторінка var = $ (this) .attr ('href'). split (/ \? /) [1]; $ .ajax ({ тип: 'POST', url: '/ шлях до послуги', дані: сторінка, успіх: функція (вміст) { $ ('# myTable'). html (вміст); // замінити } }); повернути false; // зупинити посилання }); }); | Я також вважаю, що location.replace (URL) - найкращий спосіб, але якщо ви хочете повідомити пошукові системи про своє перенаправлення (вони не аналізують код JavaScript, щоб побачити переспрямування), слід додати мета rel = "canonical" додайте тег на свій веб-сайт. Додавання розділу noscript із мета-тегом оновлення HTML також є хорошим рішенням. Я пропоную вам скористатися цим інструментом перенаправлення JavaScript настворити переспрямування. Він також має підтримку Internet Explorer для передачі посилання HTTP. Зразок коду без затримки виглядає так: <скрипт> | Але якщо хтось хоче перенаправити назад на домашню сторінку, він може використовувати наступний фрагмент. window.location = window.location.host Було б корисно, якщо у вас є три різні середовища, такі як розробка, постановка та виробництво. Ви можете дослідити це вікно або об'єкт window.location, просто помістивши ці слова в консоль Chrome або консоль Firebug. | JavaScript надає багато методів отримання та зміни поточної URL-адреси, яка відображається в адресному рядку браузера. Усі ці методи використовують об'єкт Location, який є властивістю об'єкта Window. Ви можете створити новий об'єкт Location, який має поточну URL-адресу, наступним чином. var currentLocation = window.location; Основна структура URL-адреси// : / Протокол - Вказує назву протоколу, який буде використовуватися для доступу до ресурсу в Інтернеті. (HTTP (без SSL) або HTTPS (з SSL)) ім'я хоста - ім'я хосту визначає хост, якому належить ресурс. Наприклад, www.stackoverflow.com. Сервер надає послуги з використанням імені хоста. порт - номер порту, який використовується для розпізнавання певного процесу, на який повинно бути переадресовано Інтернет або інше мережеве повідомлення, коли воно надходить на сервер. pathname - шлях надає інформацію про конкретний ресурс у хості, до якого веб-клієнт хоче отримати доступ. Наприклад, stackoverflow.com/index.html. запит - рядок запиту слідує за компонентом шляху та надає рядок інформації, яку ресурс може використовувати з певною метою (наприклад, як параметри для пошуку або як дані, що підлягають обробці). хеш - прив'язка частини URL-адреси, включає знак хешу (#). За допомогою цих властивостей об’єкта Location ви можете отримати доступ до всіх цих компонентів URL hash -Встановлює або повертає прив'язку частини URL-адреси. host -Sets або повертає ім’я хосту та порт URL-адреси. ім'я хоста -Встановлює або повертає ім'я хосту URL-адреси. href -Встановлює або повертає весь URL. pathname -Встановлює або повертає ім'я шляху URL-адреси. port -Встановлює або повертає номер порту, який сервер використовує для URL-адреси. protocol - Встановлює або повертає протокол URL-адреси. пошук -Набори або повертає частину запиту URL-адреси Тепер, якщо ви хочете змінити сторінку або перенаправити користувача на якусь іншу сторінку, ви можете скористатися властивістю href об'єкта Location, як це Ви можете використовувати властивість href об’єкта Location. window.location.href = "http://www.stackoverflow.com"; Розміщення об'єкта також має ці три методи assign () - Завантажує новий документ. reload () - перезавантажує поточний документ. replace () - Замінює поточний документ новим Ви можете використовувати методи assign () та replace також для переспрямування на інші сторінки, подібні цим location.assign ("http://www.stackoverflow.com"); location.replace ("http://www.stackoverflow.com"); Чим відрізняється assign () та replace () - Різниця між методом replace () та методом assign () () полягає в тому, що replace () видаляє URL-адресу поточного документа з історії документа, тобто не можна використовувати кнопка "назад" для повернення до вихідного документа. Тож використовуйте метод assign (), якщо ви хочете завантажити новий документ, і хочете дати можливість повернутися до вихідного документа. Ви можете змінити властивість href об'єкта розташування, використовуючи jQuery, також як це $ (розташування) .attr ('href', url); І отже, ви можете перенаправити користувача на якусь іншу URL-адресу. | В основному jQuery - це просто фреймворк JavaScript, і для виконання таких речей, як перенаправлення в цьому випадку, ви можете просто використовувати чистий JavaScript, тому в цьому випадку у вас є 3 варіанти використання ваніліJavaScript: 1) Використовуючи заміну розташування, це замінить поточну історію сторінки, це означає, що неможливо скористатися кнопкою "Назад" для повернення на початкову сторінку. window.location.replace ("http://stackoverflow.com"); 2) Використовуючи призначення місця, це збереже історію для вас, а за допомогою кнопки "Назад" ви зможете повернутися до початкової сторінки: window.location.assign ("http://stackoverflow.com"); 3) Я рекомендую використовувати один із попередніх способів, але це може бути третій варіант із використанням чистого JavaScript: window.location.href = "http://stackoverflow.com"; Ви також можете написати функцію в jQuery, щоб обробляти її, але не рекомендується, оскільки це лише один рядок чистої функції JavaScript, також ви можете використовувати всі перераховані вище функції без вікна, якщо ви вже перебуваєте в області вікна, наприклад window.location.replace ("http://stackoverflow.com"); може бути location.replace ("http://stackoverflow.com"); Також я показую їх усіх на зображенні нижче: | Має просто мати можливість встановити за допомогою window.location. Приклад: window.location = "https://stackoverflow.com/"; Ось минулий допис на цю тему: Як перенаправити на іншу веб-сторінку? | Перш ніж почати, jQuery - це бібліотека JavaScript, яка використовується для маніпулювання DOM. Отже, ви не повинні використовувати jQuery для переспрямування сторінки. Цитата з Jquery.com: Хоча jQuery може працювати без серйозних проблем у старих версіях браузера, ми не активно тестуємо jQuery в них і, як правило, не виправляємо помилки що може з’явитися в них. Він був знайдений тут: https://jquery.com/browser-support/ Отже, jQuery не є рішенням для зворотної сумісності для всіх і для всіх. Наступне рішення із використанням необробленого JavaScript працює у всіх браузерах і є стандартним протягом тривалого часу, тому вам не потрібні бібліотеки для підтримки крос-браузера. Ця сторінка перенаправить на Google через 3000 мілісекунд приклад Незабаром вас перенаправлять на Google.
<сценарій> setTimeout (function () { window.location.href = "http://www.google.com"; // URL-адреса, яка також буде переспрямована. }, 3000); // Чим більше число, тим більше затримка. Різні варіанти: window.location.href = "url"; // Імітує звичайну навігацію до нової сторінки window.location.replace ("url"); // Видаляє поточну URL-адресу з історії та замінює її новою window.location.assign ("url"); // Додає нову URL-адресу до стеку історії та переспрямовує на нову URL-адресу window.history.back (); // Імітує натискання кнопки "Назад" window.history.go (-1); // Імітує натискання кнопки "Назад" window.history.back (-1); // Імітує клік кнопки "Назад" window.navigate ("page.html"); // Те саме, що window.location = "url" При використанні заміни кнопка "Назад" не повернеться на сторінку переадресації, як ніби її ніколи не було в історії. Якщо ви хочете, щоб користувач міг повернутися на сторінку переадресації, використовуйте window.location.href або window.location.assign. Якщо ви використовуєте опцію, яка дозволяє користувачеві повернутися на сторінку переадресації, пам’ятайте, що коли ви входите на сторінку переадресації, вона перенаправить вас назад. Тож враховуйте це, вибираючи варіант для вашого переспрямування. За умов, коли сторінка переспрямовує лише тоді, коли користувач робить дію, тоді наявність сторінки в історії кнопки назад буде нормальним. Але якщо сторінка автоматично переспрямовує, вам слід скористатися заміною, щоб користувач міг скористатися кнопкою "Назад", не примушуючи повертатися на сторінку, яку посилає перенаправлення. Ви також можете використовувати метадані для запуску переспрямування сторінки, як зазначено нижче. МЕТА Оновити Розташування META БАЗОВЕ викраденняНа цій сторінці можна знайти багато інших методів перенаправлення вашого нічого не підозрюючого клієнта на сторінку, яку вони, можливо, не бажають відвідувати (жоден з них не залежить від jQuery): https://code.google.com/p/html5security/wiki/RedirectionMethods Я також хотів би зазначити, що люди не люблять, щоб їх випадковим чином перенаправляли. Перенаправляйте людей лише за крайньої необхідності. Якщо ви почнете випадково перенаправляти людей, вони більше ніколи не перейдуть на ваш сайт. Наступний абзац є гіпотетичним: Ви також можете отримати звіт про зловмисний сайт. Якщо це трапляється, тоді, коли люди натискають посилання на ваш сайт, браузер користувачів може попереджати їх про те, що ваш сайт зловмисний. Також може статися так, що пошукові системи можуть почати знижувати ваш рейтинг, якщо люди повідомляють про поганий досвід роботи на вашому сайті. Ознайомтесь із Правилами Google для веб-майстрів щодо переадресації: https://support.google.com/webmasters/answer/2721217?hl=uk&ref_topic=6001971 Ось весела маленька сторінка, яка виштовхує вас зі сторінки. Ідіть геть Ідіть геть
<сценарій> setTimeout (function () { window.history.back (); }, 3000); Якщо ви поєднаєте приклади двох сторінок разом, у вас виникне дитяча петля, щоб перенаправити цегарантуватиме, що ваш користувач більше ніколи не захоче використовувати ваш сайт. | var url = 'asdf.html'; window.location.href = url; | Ви можете зробити це без jQuery як: window.location = "http://yourdomain.com"; І якщо ви хочете лише jQuery, ви можете зробити це так: $ jq (вікно) .attr ("розташування", "http://yourdomain.com"); | Це працює з jQuery: $ (window) .attr ("location", "http://google.fr"); | # Перенаправлення сторінки HTML за допомогою методу jQuery / JavaScript Спробуйте цей приклад коду: функція YourJavaScriptFunction () { var i = $ ('# login'). val (); if (i == 'логін') window.location = "Login.php"; ще window.location = "Вийти.php"; } Якщо ви хочете вказати повну URL-адресу як window.location = "www.google.co.in" ;. | Оригінальне запитання: "Як перенаправити за допомогою jQuery?", Отже, відповідь реалізує jQuery >> Безкоштовний випадок використання. Щоб просто перенаправити на сторінку з JavaScript: window.location.href = "/ контакт /"; Або якщо вам потрібна затримка: setTimeout (function () { window.location.href = "/ контакт /"; }, 2000); // Час в мілісекундах jQuery дозволяє легко вибирати елементи з веб-сторінки. Ви можете знайти все, що завгодно, на сторінці, а потім за допомогою jQuery додати спеціальні ефекти, реагувати на дії користувача або показувати та приховувати вміст усередині або поза вибраним елементом. Усі ці завдання починаються з того, що ми знаємо, як вибрати елемент чи подію. $ ('a, img'). on ('click', function (e) { e.preventDefault (); $ (this) .animate ({ opacity: 0 // Помістіть сюди анімацію CSS }, 500); setTimeout (function () { // Добре, готовий персонал jQuery, перейдемо до перенаправлення window.location.href = "/ контакт /"; }, 500); }); Уявіть, хтось написав сценарій / плагін із 10000 рядків коду. За допомогою jQuery ви можете підключитися до цього коду лише одним рядком або двома. | Вам потрібно вставити цей рядок у свій код: $ (розташування) .attr ("href", "http://stackoverflow.com"); Якщо у вас немає jQuery, перейдіть за допомогою JavaScript: window.location.replace ("http://stackoverflow.com"); window.location.href ("http://stackoverflow.com"); | Отже, питання полягає в тому, як зробити сторінку переспрямування, а не в тому, як перенаправити на веб-сайт? Для цього потрібно лише використовувати JavaScript. Ось трохи крихітного коду, який створить динамічну сторінку переспрямування. <сценарій> var url = window.location.search.split ('url =') [1]; // Отримати URL-адресу після? Url = if (url) window.location.replace (url); Отже, скажімо, ви просто помістили цей фрагмент у файл переспрямування / index.html на своєму веб-сайті, і ви можете використовувати його так. http://www.mywebsite.com/redirect?url=http://stackoverflow.com І якщо ви перейдете за цим посиланням, воно автоматично перенаправить вас на stackoverflow.com. Посилання на документацію І ось як ви робите просту сторінку переспрямування з JavaScript Редагувати: Також слід зазначити одне. Я додав window.location.replace у свій код, тому що, на мою думку, це підходить для сторінки переадресації, але, ви повинні знати, що при використанні window.location.replace ви отримуєте перенаправлення, коли ви натискаєте кнопку назад у своєму браузері, повернувся на сторінку переадресації, і вона повернеться на сторінку перед нею, погляньте на цю маленьку демонстраційну штучку. Приклад: Процес: зберегти домашню сторінку => перенаправити сторінку на google => google Коли ви в google: google => кнопка назад у браузері => магазин додому Отже, якщо це відповідає вашим потребам, тоді все повинно бути добре. Якщо ви хочете включити сторінку переспрямування в історію браузера, замініть це if (url) window.location.replace (url); з if (url) window.location.href = url; | На вашій функції кліку просто додайте: window.location.href = "URL-адреса, куди ви хочете перенаправити"; $ ('# id'). натисніть (function () { window.location.href = "http://www.google.com"; }); | Спробуйте це: location.assign ("http://www.google.com"); Фрагмент коду прикладу. | jQuery не потрібен. Ви можете зробити це: window.open ("URL", "_ self", "", "") Це так просто! Найкращий спосіб ініціювати запит HTTP - за допомогою document.loacation.href.replace ('URL'). | Спочатку пишіть правильно. Ви хочете переміщатися в додатку за іншим посиланням із вашого додатка за іншим посиланням. Ось код: window.location.href = "http://www.google.com"; І якщо ви хочете переходити сторінками у вашій програмі, я також маю код, якщо ви хочете. | Ви можете перенаправити в jQuery так: $ (розташування) .attr ('href', 'http://yourPage.com/'); | Використання JavaScript: Спосіб 1: window.location.href = "http://google.com"; Спосіб 2: window.location.replace ("http://google.com"); Використання jQuery: Спосіб 1: $ (місцезнаходження) $ (розташування) .attr ('href', 'http://google.com'); Метод 2: Функція багаторазового використання jQuery.fn.redirectTo = function (url) { window.location.href = url; } jQuery (вікно) .redirectTo ("http://google.com"); | У JavaScript та jQuery ми можемо використовувати наступний код для перенаправлення однієї сторінки на іншу: window.location.href = "http://google.com"; window.location.replace ("page1.html"); | ECMAScript 6 + jQuery, 85 байт $ ({jQueryCode: (url) => location.replace (url)}). attr ("jQueryCode") ("http://example.com") Будь ласка, не вбивайтемені, це жарт. Це жарт. Це жарт. Це справді "дало відповідь на питання", в тому сенсі, що воно вимагало рішення "за допомогою jQuery", що в цьому випадку тягне за собою його якось примусове рівняння. Ferrybig, мабуть, потребує пояснення жарту (все ще жартуючи, я впевнений, що у формі огляду обмежено), тому без зайвих сумнівів: Інші відповіді використовують непотрібність attr () jQuery для розташування або віконних об'єктів. Ця відповідь також зловживає нею, але більш смішним чином. Замість того, щоб використовувати його для встановлення місцезнаходження, він використовує attr () для отримання функції, яка встановлює розташування. Функція називається jQueryCode, хоча в ній немає нічого jQuery, і викликати функцію somethingCode просто жахливо, особливо коли щось навіть не є мовою. "85 байт" - це посилання на Code Golf. Очевидно, що гольф - це не те, що ви повинні робити поза кодовим гольфом, і, крім того, ця відповідь явно не є гольфом. В основному, скуляться. | Javascript: window.location.href = 'www.your_url.com'; window.top.location.href = 'www.your_url.com'; window.location.replace ('www.your_url.com'); Jquery: var url = 'www.your_url.com'; $ (розташування) .attr ('href', url); $ (location) .prop ('href', url); // замість розташування можна використовувати вікно | Ось переадресація із затримкою часу. Ви можете встановити час затримки як завгодно:Назва вашого документа <сценарій> затримувач (8000)Вас перенаправлять через 8 секунд!| Є три основні способи зробити це, window.location.href = 'blaah.com'; window.location.assign ('blaah.com'); і ... window.location.replace ('blaah.com'); Останнє найкраще для традиційного переспрямування, оскільки воно не збереже ту сторінку, на яку ви перейшли, до перенаправлення в історію пошуку. Однак, якщо ви просто хочете відкрити вкладку з JavaScript, ви можете скористатися будь-яким із зазначених вище.1 EDIT: префікс вікна необов’язковий. | 1 2 Далі Не відповідь, яку ви шукаєте? Перегляньте інші запитання, позначені перенаправленням javascript jquery, або задайте своє запитання.